package com.tedu.day02.test;

/**
 * 匿名内部类：需要了解抽象类与接口定义与使用   拓展：表达四【JavaAPI]
 * 定义：抽象类/接口  引用=new  抽象类/接口（）{};
 *             特点：对象只需要创建一次时候
 */
public class 匿名内部类 {
    public static void main(String[] args) {
        //创建接口   实现类   继承  USB接口  多态性 造型
       // USB usb=new Jack();
        //usb.read(); usb.write();
        //针对：子实现类有多个都需要实现
        //针对：实现一次，创建一次接口对象   匿名内部类创建：接口，抽象类
        USB usb=new USB() {

            public void write() {
                System.out.println("写");
            }

            public void read() {
                System.out.println("读");
            }
        };
        usb.read();  usb.write();

        //作业2:抽象类使用匿名内部类方法创建，并且输出
        Animal a=new Animal(){

            public void run() {
                System.out.println("每当想起你时");
            }

            public void sleep() {
                System.out.println("这世界那么多人");
            }
        };
        a.run(); a.sleep();
}
    }
//创建接口   USB   功能：读写
interface USB{
    public abstract void write();
    public abstract void read();
}
//以往创建接口对象：先创建实现类
 class Jack implements USB{
    public void write(){
        System.out.println("写");
    }
    public  void read(){
        System.out.println("读");
    }
}

//创建抽象类  Animal  功能：跑 睡
abstract class Animal{
    public abstract void run();
    public abstract void sleep();
}